package chapter02

/**
  * 一.Scala语言输出的三种方式
  *
  * 1.使用 +
  * 2.使用格式化的方式 printf
  * 3.字符串模板(插值字符串) :通过$获取变量值，类似 php
  * 4.* 用于即将一个字符串复制多次并拼接
  * 5.三引号标识字符串，保持多行字符串的原格式输出
  *
  * 二.程序中 + 的使用：
  * 当左右两边都是数值型时，则做加法运算
  * 当左右两边有一方为字符串，则做拼接运算
  * }
  *
  */
object Test03_String {
  def main(args: Array[String]): Unit = {
    var name: String = "mm"
    var age: Double = 18

    // 使用 +
    println("hello" + age + name)

    // 使用格式化的方式 printf
    printf("name=%s day=%f\n", name, age)

    //字符串模板(插值字符串) :通过$获取变量值
    println(s"第三种方式 name=$name age = ${age + 1}")
    println(s"${age}岁的${name}学习")

    // 格式化模板字符串
    val num = 3.14159
    println(f"the num is $num%3.3f")
    // raw 原始值
    println(raw"the num is $num%3.3f")
    // * 用于即将一个字符串复制多次并拼接
    println(name * 3)

    //三引号标识字符串，保持多行字符串的原格式输出
    val sql =
      s"""
         |select *
         |from
         |t_student
         |where
         |name = $name
         |and
         |age > $age
      """.stripMargin

    println(sql)
  }
}
